feat: add glassmorphism navbar with theme support#260
Conversation
✅ Deploy Preview for github-spy ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
There was a problem hiding this comment.
🎉 Thank you @Kartikey-Pathak for your contribution. Please make sure your PR follows https://github.com/GitMetricsLab/github_tracker/blob/main/CONTRIBUTING.md#-pull-request-guidelines
📝 WalkthroughWalkthroughThis PR enhances the application's visual styling by introducing a glassmorphism effect to the navbar and ensuring consistent dark mode theming. The navbar receives semi-transparent backgrounds with backdrop blur, navigation links are restyled with pill-rounded borders, and the App root gains explicit dark mode background support. ChangesUI Styling Enhancements
Possibly related PRs
Suggested labels
Estimated code review effort🎯 2 (Simple) | ⏱️ ~12 minutes Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Tip 💬 Introducing Slack Agent: The best way for teams to turn conversations into code.Slack Agent is built on CodeRabbit's deep understanding of your code, so your team can collaborate across the entire SDLC without losing context.
Built for teams:
One agent for your entire SDLC. Right inside Slack. Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@src/components/Navbar.tsx`:
- Around line 33-57: The nav Link and button hover color (currently using
hover:text-gray-300) is too low-contrast on the light glass navbar; update those
classNames in the Navbar component (the Link elements for Home, Tracker,
Contributors, Login and the toggleTheme button) to use theme-aware hover classes
such as hover:text-gray-700 dark:hover:text-gray-300 (or equivalent light/dark
explicit classes) so the hover color is dark on light backgrounds and stays
light in dark mode; ensure you update every occurrence of hover:text-gray-300 in
those elements to the new paired classes.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: 63d626db-5614-4ed8-a1b4-51860f4e9d39
📒 Files selected for processing (2)
src/App.tsxsrc/components/Navbar.tsx
| className="text-lg rounded-3xl font-medium hover:text-gray-300 transition-all px-3 py-1 border border-transparent hover:border-gray-400 rounded" | ||
| > | ||
| Home | ||
| </Link> | ||
| <Link | ||
| to="/track" | ||
| className="text-lg font-medium hover:text-gray-300 transition-all px-2 py-1 border border-transparent hover:border-gray-400 rounded" | ||
| className="text-lg rounded-3xl font-medium hover:text-gray-300 transition-all px-3 py-1 border border-transparent hover:border-gray-400 rounded" | ||
| > | ||
| Tracker | ||
| </Link> | ||
| <Link | ||
| to="/contributors" | ||
| className="text-lg font-medium hover:text-gray-300 transition-all px-2 py-1 border border-transparent hover:border-gray-400 rounded" | ||
| className="text-lg rounded-3xl font-medium hover:text-gray-300 transition-all px-3 py-1 border border-transparent hover:border-gray-400 rounded" | ||
| > | ||
| Contributors | ||
| </Link> | ||
| <Link | ||
| to="/login" | ||
| className="text-lg font-medium hover:text-gray-300 transition-all px-2 py-1 border border-transparent hover:border-gray-400 rounded" | ||
| className="text-lg rounded-3xl font-medium hover:text-gray-300 transition-all px-3 py-1 border border-transparent hover:border-gray-400 rounded" | ||
| > | ||
| Login | ||
| </Link> | ||
| <button | ||
| onClick={toggleTheme} | ||
| className="text-sm font-semibold px-3 py-1 rounded border border-gray-500 hover:text-gray-300 hover:border-gray-300 transition duration-200" | ||
| className="text-sm font-semibold px-3 py-1 rounded-full text-center border border-gray-500 hover:text-gray-300 hover:border-gray-300 transition duration-200" |
There was a problem hiding this comment.
Improve light-mode hover contrast for nav actions.
On Line 33, Line 39, Line 45, Line 51, and Line 57, hover:text-gray-300 becomes too faint against the light glass navbar (bg-white/50), reducing readability on hover. Use theme-aware hover colors.
Suggested fix
- className="text-lg rounded-3xl font-medium hover:text-gray-300 transition-all px-3 py-1 border border-transparent hover:border-gray-400 rounded"
+ className="text-lg rounded-3xl font-medium hover:text-gray-700 dark:hover:text-gray-300 transition-all px-3 py-1 border border-transparent hover:border-gray-400 rounded"
- className="text-lg rounded-3xl font-medium hover:text-gray-300 transition-all px-3 py-1 border border-transparent hover:border-gray-400 rounded"
+ className="text-lg rounded-3xl font-medium hover:text-gray-700 dark:hover:text-gray-300 transition-all px-3 py-1 border border-transparent hover:border-gray-400 rounded"
- className="text-lg rounded-3xl font-medium hover:text-gray-300 transition-all px-3 py-1 border border-transparent hover:border-gray-400 rounded"
+ className="text-lg rounded-3xl font-medium hover:text-gray-700 dark:hover:text-gray-300 transition-all px-3 py-1 border border-transparent hover:border-gray-400 rounded"
- className="text-lg rounded-3xl font-medium hover:text-gray-300 transition-all px-3 py-1 border border-transparent hover:border-gray-400 rounded"
+ className="text-lg rounded-3xl font-medium hover:text-gray-700 dark:hover:text-gray-300 transition-all px-3 py-1 border border-transparent hover:border-gray-400 rounded"
- className="text-sm font-semibold px-3 py-1 rounded-full text-center border border-gray-500 hover:text-gray-300 hover:border-gray-300 transition duration-200"
+ className="text-sm font-semibold px-3 py-1 rounded-full text-center border border-gray-500 hover:text-gray-700 dark:hover:text-gray-300 hover:border-gray-300 transition duration-200"📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| className="text-lg rounded-3xl font-medium hover:text-gray-300 transition-all px-3 py-1 border border-transparent hover:border-gray-400 rounded" | |
| > | |
| Home | |
| </Link> | |
| <Link | |
| to="/track" | |
| className="text-lg font-medium hover:text-gray-300 transition-all px-2 py-1 border border-transparent hover:border-gray-400 rounded" | |
| className="text-lg rounded-3xl font-medium hover:text-gray-300 transition-all px-3 py-1 border border-transparent hover:border-gray-400 rounded" | |
| > | |
| Tracker | |
| </Link> | |
| <Link | |
| to="/contributors" | |
| className="text-lg font-medium hover:text-gray-300 transition-all px-2 py-1 border border-transparent hover:border-gray-400 rounded" | |
| className="text-lg rounded-3xl font-medium hover:text-gray-300 transition-all px-3 py-1 border border-transparent hover:border-gray-400 rounded" | |
| > | |
| Contributors | |
| </Link> | |
| <Link | |
| to="/login" | |
| className="text-lg font-medium hover:text-gray-300 transition-all px-2 py-1 border border-transparent hover:border-gray-400 rounded" | |
| className="text-lg rounded-3xl font-medium hover:text-gray-300 transition-all px-3 py-1 border border-transparent hover:border-gray-400 rounded" | |
| > | |
| Login | |
| </Link> | |
| <button | |
| onClick={toggleTheme} | |
| className="text-sm font-semibold px-3 py-1 rounded border border-gray-500 hover:text-gray-300 hover:border-gray-300 transition duration-200" | |
| className="text-sm font-semibold px-3 py-1 rounded-full text-center border border-gray-500 hover:text-gray-300 hover:border-gray-300 transition duration-200" | |
| className="text-lg rounded-3xl font-medium hover:text-gray-700 dark:hover:text-gray-300 transition-all px-3 py-1 border border-transparent hover:border-gray-400 rounded" | |
| > | |
| Home | |
| </Link> | |
| <Link | |
| to="/track" | |
| className="text-lg rounded-3xl font-medium hover:text-gray-700 dark:hover:text-gray-300 transition-all px-3 py-1 border border-transparent hover:border-gray-400 rounded" | |
| > | |
| Tracker | |
| </Link> | |
| <Link | |
| to="/contributors" | |
| className="text-lg rounded-3xl font-medium hover:text-gray-700 dark:hover:text-gray-300 transition-all px-3 py-1 border border-transparent hover:border-gray-400 rounded" | |
| > | |
| Contributors | |
| </Link> | |
| <Link | |
| to="/login" | |
| className="text-lg rounded-3xl font-medium hover:text-gray-700 dark:hover:text-gray-300 transition-all px-3 py-1 border border-transparent hover:border-gray-400 rounded" | |
| > | |
| Login | |
| </Link> | |
| <button | |
| onClick={toggleTheme} | |
| className="text-sm font-semibold px-3 py-1 rounded-full text-center border border-gray-500 hover:text-gray-700 dark:hover:text-gray-300 hover:border-gray-300 transition duration-200" |
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@src/components/Navbar.tsx` around lines 33 - 57, The nav Link and button
hover color (currently using hover:text-gray-300) is too low-contrast on the
light glass navbar; update those classNames in the Navbar component (the Link
elements for Home, Tracker, Contributors, Login and the toggleTheme button) to
use theme-aware hover classes such as hover:text-gray-700
dark:hover:text-gray-300 (or equivalent light/dark explicit classes) so the
hover color is dark on light backgrounds and stays light in dark mode; ensure
you update every occurrence of hover:text-gray-300 in those elements to the new
paired classes.
Related Issue
Description
This PR enhances the Navbar UI by introducing a modern glassmorphism effect with proper support for both light and dark themes.
Previously, the navbar had a flat background which did not visually integrate well with the overall UI design system.
This update improves visual depth, consistency, and modern UI aesthetics while ensuring readability is maintained across all themes.
No functional logic has been changed.
How Has This Been Tested?
Verified in light mode ☀️
Verified in dark mode 🌙
Checked responsiveness on different screen sizes
Ensured navbar content remains readable over all backgrounds
Tested across multiple routes/pages
Screenshots (if applicable)
Type of Change
Summary by CodeRabbit
Release Notes